package operation.impl;

import book.Book;
import book.BookList;
import operation.IOperation;

import java.util.Scanner;

/**
 * 新增图书
 */
public class AddOperation implements IOperation {
    @Override
    public void work(BookList bookList)
    {
        System.out.println("新增图书！");
        System.out.println("请输入书名：");
        Scanner scanner = new Scanner(System.in);
//        String name = scanner.nextLine();
//        book.setName(name);
//        System.out.println("请输入作者：");
//        String author = scanner.nextLine();
//        book.setAuthor(author);
//        System.out.println("请输入价格：");
//
//        //这里不能用nextInt，否则下面的输入类型会有问题
//        //只能通过Integer的parseInt将输入的字符串转换成数字
//        int price = Integer.parseInt(scanner.nextLine());
//        book.setPrice(price);
//        System.out.println("请输入类型：");
//        String type = scanner.nextLine();
//        book.setType(type);

        String name = scanner.nextLine();
        System.out.println("请输入作者：");
        String author = scanner.nextLine();
        System.out.println("请输入价格：");

        //这里不能用nextInt，否则下面的输入类型会有问题
        //只能通过Integer的parseInt将输入的字符串转换成数字
        int price = Integer.parseInt(scanner.nextLine());
        System.out.println("请输入类型：");
        String type = scanner.nextLine();

        Book book = new Book(name,author,price,type);
        int currentSize = bookList.getUsedSize();
        //将新增图书添加到图书列表中
        for (int i = 0; i <currentSize; i++) {
            Book book1 = bookList.getBook(i);
            if(book.getName().equals(book1.getName())){
                System.out.println("不好意思，您要添加的图书已经存在了，不能重复添加！");
                return;
            }
        }
        bookList.setBook(currentSize,book);

        //再次查看图书是否已经添加到图书列表中
        if(bookList.getBook(currentSize) != null){
            System.out.println("新增图书成功！");
            bookList.setUsedSize(currentSize + 1);
            return;
        }

        System.out.println("新增图书失败，请按照规定依次输入！");
    }
}
